From 157be1efec110fab680c1c5c285974288b1df045 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Fri, 1 Apr 2005 09:40:25 +0000 Subject: [PATCH] bitkeeper revision 1.1236.1.182 (424d1709I2BepRFmTt3ZX8gxYVBdrQ) sync_lazy_execstate functions are now all arch-specific. We may want to finetune their behaviour later. Signed-off-by: Keir Fraser --- xen/arch/ia64/xenmisc.c | 3 +++ xen/arch/x86/domain.c | 10 ++++++++++ xen/include/xen/sched.h | 4 ++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/xen/arch/ia64/xenmisc.c b/xen/arch/ia64/xenmisc.c index ced4fc4286..1d3a951a64 100644 --- a/xen/arch/ia64/xenmisc.c +++ b/xen/arch/ia64/xenmisc.c @@ -54,6 +54,9 @@ platform_is_hp_ski(void) /* calls in xen/common code that are unused on ia64 */ +void sync_lazy_execstate_cpuset(unsigned long cpuset) {} +void sync_lazy_execstate_all(void) {} + int grant_table_create(struct domain *d) { return 0; } void grant_table_destroy(struct domain *d) { diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index d2b04ac8ab..0a599661dc 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -864,6 +864,16 @@ int __sync_lazy_execstate(void) return 1; } +void sync_lazy_execstate_cpuset(unsigned long cpuset) +{ + flush_tlb_mask(cpuset); +} + +void sync_lazy_execstate_all(void) +{ + flush_tlb_all(); +} + unsigned long __hypercall_create_continuation( unsigned int op, unsigned int nr_args, ...) { diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 2c9336bc91..670b891f59 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -255,8 +255,8 @@ void domain_sleep(struct exec_domain *d); * Force loading of currently-executing domain state on the specified set * of CPUs. This is used to counteract lazy state switching where required. */ -#define sync_lazy_execstate_cpuset(_cpuset) flush_tlb_mask(_cpuset) -#define sync_lazy_execstate_all() flush_tlb_all() +extern void sync_lazy_execstate_cpuset(unsigned long cpuset); +extern void sync_lazy_execstate_all(void); extern int __sync_lazy_execstate(void); extern void context_switch( -- 2.30.2